package com.athuahua.spzx.service;

import com.athuahua.spzx.entity.Product;
import com.athuahua.spzx.entity.vo.ProductVo;
import com.athuahua.spzx.dto.product.ProductDto;
import com.athuahua.spzx.entity.ProductSaveUpdateEntity;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author huahua
* @description 针对表【product(商品)】的数据库操作Service
* @createDate 2024-08-01 15:06:56
*/
public interface ProductService extends IService<Product> {

    IPage<ProductVo> pageInfo(Integer page, Integer limit, ProductDto productDto);

    /**
     * 新增商品
     * @param productSaveUpdateEntity
     */
    void iSave(ProductSaveUpdateEntity productSaveUpdateEntity);

    /**
     * 根据id获取商品所有信息.用户修改数据回显
     * @param id
     * @return
     */
    ProductSaveUpdateEntity iGetById(Integer id);

    /**
     * 更新商品信息
     * @param product
     */
    void iUpdate(ProductSaveUpdateEntity product);

    /**
     * 删除商品
     * @param id
     */
    void iRemoveById(Integer id);

    /**
     * 上下架
     * @param id
     * @param status
     */
    void iUpdateAuditStatus(Integer id, Integer status);

    /**
     * 审核
     * @param id
     * @param status
     */
    void iUpdateStatus(Integer id, Integer status);
}
